﻿// 4622. 整数拆分.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4625/

我们规定 f(x)
（x≥2
）表示整数 x
 的除本身之外的最大因数。

例如，f(6)=3
，f(25)=5
，f(2)=1
。

现在，给定一个整数 n
，请你将其拆分为 k
 份 n1,n2,…,nk
（也可以不拆分，即 k=1
），要求：

n1+n2+…+nk=n
对于 1≤i≤k
，ni≥2
 始终成立。
f(n1)+f(n2)+…+f(nk)
 的值应尽可能小。
输出 f(n1)+f(n2)+…+f(nk)
 的最小可能值。

输入格式
一个整数 n
。

输出格式
一个整数，表示 f(n1)+f(n2)+…+f(nk)
 的最小可能值。

数据范围
前 4
 个测试点满足 2≤n≤30
。
所有测试点满足 2≤n≤2×109
。

输入样例1：
4
输出样例1：
2
输入样例2：
27
输出样例2：
3
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 